/**
 * @desc    API请求接口类封装
 * @author  Ding Yuze
 * @date    2019年10月28日10:14:06
 */

/**
 * 请求API
 * @param  {String}   url         接口地址
 * @param  {Object}   params      请求的参数
 * @param  {String}   method      请求方法（GET/POST）
 * @param  {String}   header      请求的头部
 * @param  {Function} success     接口调用成功返回的回调函数
 * @param  {Function} fail        接口调用失败的回调函数
 */
function request(url, params, method, header, success, fail) {
  this.requestLoading(url, params, method, null, header, success, fail)
}

/**
 * 请求API
 * @param  {String}   url         接口地址
 * @param  {Object}   params      请求的参数
 * @param  {String}   method      请求方法（GET/POST）
 * @param  {String}   header      请求的头部
 * @param  {String}   message     弹窗消息
 * @param  {Function} success     接口调用成功返回的回调函数
 * @param  {Function} fail        接口调用失败的回调函数
 */
function requestLoading(url, params, method, message, header, success, fail) {

  if (message) {
    wx.showLoading({
      title: message,
      mask: true
    })
  }

  wx.request({
    url: url,
    data: params,
    header: {
      "Content-Type": header
    },
    method: method,
    success: function (res) {
      // console.log("请求成功，返回数据：", res);
      success(res.data);
    },
    fail: function (res) {
      fail(res.data);
    },
    complete: function (res) {

    }
  })
}


module.exports = {
  request: request,
  requestLoading: requestLoading
}